package com.conexaoBanco;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;

import com.entities.Usuario;
import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;

public class usuarioDao {

	private static Connection con;

	public void save(Usuario usuario) {
		String sql = "insert into usuario(nome,login,senha) values(?,?,?)";
		try {
			con = conexaoBanco.getConexao();
			PreparedStatement stm = con.prepareStatement(sql);
			stm.setString(1, usuario.getNome());
			stm.setString(2, usuario.getLogin());
			stm.setString(3, usuario.getSenha());
			stm.execute();
			stm.close();
			System.out.println("cadastrado com sucesso");
		} catch (Exception e) {
			System.out.println("erro" + e);
		}
	}

	public void update(Usuario usuario) {
		String sql = "update usuario set nome=? ,login=?, senha=? where id=?";
		try {
			con = conexaoBanco.getConexao();
			PreparedStatement stm = con.prepareStatement(sql);
			stm.setString(1, usuario.getNome());
			stm.setString(2, usuario.getLogin());
			stm.setString(3, usuario.getSenha());
			stm.setInt(4, usuario.getId());
			stm.execute();
			stm.close();
			System.out.println("atualizado com sucesso");
		} catch (Exception e) {
			System.out.println("erro" + e);
		}
	}

	public void delete(Usuario usuario) {
		String sql = "delete from usuario where id=?";
		try {
			con = conexaoBanco.getConexao();
			PreparedStatement stm = con.prepareStatement(sql);
			stm.setInt(1, usuario.getId());
			stm.execute();
			stm.close();
			System.out.println("deletado com sucesso");
		} catch (Exception e) {
			System.out.println("erro" + e);
		}
	}

	public java.util.List<Usuario> busca() {
		String sql = "select * from usuario";
		java.util.List<Usuario> list = new ArrayList<Usuario>();
		try {
			con = conexaoBanco.getConexao();
			PreparedStatement stm = con.prepareStatement(sql);
			ResultSet rs = stm.executeQuery();
			while (rs.next()) {
				Usuario usuario = new Usuario();
				usuario.setId(rs.getInt("id"));
				usuario.setNome(rs.getString("nome"));
				usuario.setLogin(rs.getString("login"));
				usuario.setSenha(rs.getString("senha"));
				list.add(usuario);
			}
			stm.close(); 
		} catch (Exception e) {
			System.out.println("erro" + e);
		}
		return list;
	}
}
